package com.hzhq.contract.bean.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzhq.contract.bean.dto.AttachmentDTO;
import com.hzhq.contract.bean.dto.CompanyDTO;
import com.hzhq.contract.bean.dto.ContractStatusDTO;
import com.hzhq.contract.bean.entity.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.DBRef;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author: hzhq1255
 * @mail: hzhq1255@163.com
 * @date: 2021/4/14 19:30
 * @desc:
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("ContractVO")
public class ContractVO {


    @ApiModelProperty(value = "id")
    private String contractId;
    @ApiModelProperty(value = "合同名称")
    private String contractName;
    @ApiModelProperty(value = "合同种类")
    private String contractType;
    @ApiModelProperty(value = "甲方公司")
    private String companiesA;
    @ApiModelProperty(value = "乙方公司")
    private String companiesB;
    @ApiModelProperty(value = "联系信息")
    private String contactInfo;
    @ApiModelProperty(value = "所属部门")
    private String depart;
    @ApiModelProperty(value = "签订时间")
    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    @ApiModelProperty(value = "截止时间")
    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    @ApiModelProperty(value = "合同金额")
    private BigDecimal contractAmount;
    @ApiModelProperty(value = "合同当前金额")
    private BigDecimal currentAmount;
//    @ApiModelProperty(value = "合同状态")
//    private List<ContractStatusVO> statusList;
//    @ApiModelProperty(value = "合同附件")
//    private List<AttachmentVO> attachmentList;
    @ApiModelProperty(value = "自定义扩展字段")
    private List<Extern> externList;
    @ApiModelProperty(value = "合同创建时间")
    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "录入人员")
    private String createUser;
    @ApiModelProperty(value = "采用模板id")
    private String templateId;
    @ApiModelProperty(value = "采用模板名称")
    private String templateName;
    @ApiModelProperty(value = "是否删除")
    private Integer deleted;
    @ApiModelProperty(value = "是否编辑")
    private Integer edited;
    @ApiModelProperty(value = "是否通过")
    private Integer passed;
    @ApiModelProperty(value = "是否完成")
    private Integer completed;
    @ApiModelProperty(value = "最后编辑人")
    private String lastEditedUser;
    @ApiModelProperty(value = "最后编辑时间")
    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss")
    private Date editedTime;
    @ApiModelProperty(value = "通过时间")
    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss")
    private Date passedTime;
    @ApiModelProperty(value = "审核人员")
    private String approvalPerson;
    @ApiModelProperty(value = "审批意见")
    private String approvalContent;


}
